package top.sqdpt.pt.statemachine.action;


/**
 * 定义事件的行为
 *
 * @param <S> 状态枚举
 * @param <E> 事件枚举
 */
public interface PtEasyStateAction<S extends Enum<S>, E extends Enum<E>> extends PtStateAction<S> {
    /**
     * 开始状态
     */
    S getStartState();

    /**
     * 结束状态
     */
    S getTargetState();

    /**
     * 事件
     */
    E getEvent();
}
